Generating an electronic catalog for online computer users

ABSTRACT

A system and method for generating an electronic catalog for online computer users is disclosed. The system and method in an example embodiment includes providing access to a data store of images; enabling selection of a plurality of images from at least some of the images provided in the data store; enabling association of each the plurality of selected images with a respective page in a computer-generated electronic catalog; recording an identifier of each of the respective computer-generated electronic catalog pages; and recording information associating each of the plurality of selected images with the identifier of each of the respective computer-generated electronic catalog pages.

PRIORITY CLAIM

This patent application is a continuation of U.S. patent applicationSer. No. 12/277,214, titled “SYSTEM AND METHOD FOR GENERATING ANELECTRONIC CATALOG BOOKLET FOR ONLINE COMPUTER USERS,” filed Nov. 24,2008, which is hereby incorporated by reference in its entirety.

COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightrights whatsoever. The following notice applies to the software and dataas described below and in the drawings that form a part of thisdocument: Copyright 2007-2008, eBay Inc., All Rights Reserved.

BACKGROUND

Technical Field

This disclosure relates to methods and systems supporting computing anddata processing systems. More particularly, a system and method forgenerating an electronic catalog booklet for online computer users isdescribed.

Related Art

Conventional systems, like Amazon.com, can display a listing of itemsfor purchase by online shoppers. However, these item listings aretypically arranged in one of several sorting orders provided by the hostsite. Some existing systems can also categorize items into groups orcategories based on the host system's determination of relatednessbetween the characteristics of the items for sale. However, sometimes ahost site's determination of item relatedness may not suit a particularuser. Some users may wish to group items in arbitrary ways that the hostsite did not consider.

U.S. Pat. No. 6,032,130 describes a multimedia product catalog andelectronic purchasing system that provides multimedia productpresentations in real-time, by combining locally-stored data and datareceived from a remote server. Large volumes of data, representingproduct information such as motion images and sound, are stored locallyon the system's data storing unit for fast data access. Small volumes ofproduct time-variable data are received over a network from a remoteserver, which also has a transaction management function. The purchasingsystem is a PC-based purchasing system, equipped with multimediacapabilities. It uses a purchasing application which is distributedbeside the large volumes of product-related data on a portable supportsuch as a CD-ROM.

U.S. Pat. No. 7,082,426 describes a method for processing plural productinformation records from the product information sources into one ormore groups based on which product information records are likely tocorrespond to the same product, correlating a unique product IDcorresponding to the product associated with each of said groups toidentify the product, comparing each identified product to categories ofa taxonomy to determine a category for the identified products in thetaxonomy, and determining attributes for each categorized product basedon the product information records corresponding to each group, creatingproduct specifications based on the determined attributes and storingthe product specification in the corresponding determined categories ofthe taxonomy.

Thus, a system and method for generating an electronic catalog bookletfor online computer users are needed.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments illustrated by way of example and not imitation in thefigures of the accompanying drawings, in which:

FIG. 1 illustrates a particular example embodiment an electronic catalogbooklet for online computer users.

FIG. 2 illustrates an example embodiment of the initial user interfacescreen for creating or viewing an electronic catalog booklet for onlinecomputer users, shown in a particular configuration.

FIG. 3 illustrates an example embodiment of the user interface screenfor creating an electronic catalog booklet for online computer users.

FIG. 4 illustrates an example embodiment of the user interface screenfor viewing an electronic catalog booklet for online computer users,shown in a particular configuration.

FIG. 5 illustrates another particular example embodiment of anelectronic catalog booklet for online computer users.

FIG. 6 illustrates a processing flow diagram for an example embodiment.

FIG. 7 is a network diagram depicting a client-server system, withinwhich one example embodiment may be deployed.

FIG. 8 is a block diagram illustrating multiple applications and that,in one example embodiment, are provided as part of the networked system.

FIG. 9 is a block diagram of machine in the example form of a computersystem within which instructions, for causing the machine to perform anyone or more of the methodologies discussed herein, may be executed.

DETAILED DESCRIPTION

In the following description, for purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of some example embodiments. It will be evident, however,to one of ordinary skill in the art that the various embodimentsdescribed herein may be practiced without these specific details.According to various example embodiments described herein, there isprovided a system and method for generating an electronic catalogbooklet for online computer users that provides a new method forbrowsing various item groupings (e.g., items listings from the eBaywebsite).

FIG. 1 illustrates a particular example embodiment of an electroniccatalog booklet for online computer users. As shown in FIG. 1, anelectronic catalog 100 is displayed within a conventional display screenwindow 105 on a computer system of a client user. As described in moredetail below, the client system may be connected or connectable to aserver computer system via a conventional data network, such as theInternet. The client system can use conventional hardware and operatingsystem software to display and manipulate window 105.

The electronic catalog 100 is created using the functionality of variousembodiments described herein. The electronic catalog 100 is comprised ofa plurality of electronic pages 108 on which a plurality of itemlistings 110 from an item database are displayed. As described in moredetail below, the information used to generate the plurality of itemlistings 110 resides in an item database. The items retained in thedatabase are typically items (e.g. products or services) offered forsale, bid, lease, rent or trial. Using conventional systems, networkedusers can create item listings for storage in the database.

A particular embodiment enables a user to search the item database foritem listings of interest, to select a set of item listings, and totransfer an instance of the selected item listings into a desiredposition on a page of the electronic catalog 100. As shown in theexample of FIG. 1, the electronic catalog 100 has been populated with aplurality of item listings 110. The functionality of a particularembodiment for creating an electronic catalog 100 is described in moredetail below.

The electronic catalog 100 enables a user/shopper to view a particularcollection of item listings 110 as compiled by a creator of theelectronic catalog 100. Using soft buttons or particular pointing deviceor finger movements, the user can turn the electronic pages 108 of theelectronic catalog 100 to reveal a new set of item listings 110 onsubsequent pages. In this manner, a user can scan through the particularcollection of item listings 110 as arranged and ordered by the creatorof the electronic catalog 100. Each item listing 110 can be a fixed sizeand shape or each listing 110 can be resized and reshaped by the creatorof the electronic catalog 100 when the catalog 100 is created. Each itemlisting 110 can include a description of a corresponding item for sale,bid, lease, rent or trial. Each item listing 110 can optionally includean image corresponding to the item. Each item listing 110 can alsoinclude a hyperlink, email button, or call button with which auser/shopper can purchase the corresponding item or otherwise obtainmore information on the item.

When the electronic catalog 100 is created, as described below, theelectronic catalog 100 can be uniquely identified with a name, number,or code. This unique identifier enables each particular catalog 100 tobe distinguished from other catalogs 100. Catalog descriptiveinformation related to the author, date of creation, expiration date,topic/category, affiliation, etc. can also be recorded for the catalog100. Further, each page of the electronic catalog 100 can be internallymarked with a unique identifier to distinguish each page of a particularelectronic catalog 100. The identifier of each page in thecomputer-generated electronic catalog booklet 100 can be recorded withinformation associating each of the plurality of selected item listingswith the identifier of the corresponding page on which the item listingappears in the electronic catalog 100. Additionally, the position on thepage where the item listing appears can also be recorded as part of theinformation retained for the particular electronic catalog 100. In thismanner, information retained for a particular electronic catalog 100 caninclude an identifier of the catalog, descriptive information related tothe catalog, identifiers for each of the pages in the catalog,identifiers for each of the item listings in the catalog, informationassociating item listings with the page where the item listings appear,and information associating item listings with the page positions wherethe item listings appear. It will be apparent to those of ordinary skillin the art that other information associated with a particularelectronic catalog 100 can also be retained.

FIG. 2 illustrates an example embodiment of the initial user interfacescreen for creating or viewing an electronic catalog booklet for onlinecomputer users, shown in a particular configuration. In a particularembodiment, the initial user interface screen 121 is shown in a window120 when a user activates a software application. The initial userinterface screen 121 provides soft buttons 122 and 123 with which a usercan either create anew electronic catalog (button 122) or view anexisting catalog (button 123). If the user clicks on the button 122 tocreate a new electronic catalog, a particular example embodimentpresents the electronic catalog authoring/creation screen 131 in window130 to the user as shown in FIG. 3. If the user clicks on the button 123to view an existing catalog, a particular example embodiment presentsthe selected electronic catalog 100 to the user as shown in FIGS. 4 and5.

FIG. 3 illustrates an example embodiment of the user interface screen131 for authoring/creating an electronic catalog booklet for onlinecomputer users. In a particular embodiment, the electronic catalogauthoring/creation screen 131 includes two main display areas 132 and133. Display area 133 represents a set of item listings produces as aresult of a search performed on the item database. Using conventionalsearching techniques, a user can search the item database for particularitem listings of interest. A search query can be entered in search field134 and a portion of the matching item listings 136 and 137 is presentedin the display area 133. A slider bar can be used to scroll the matchingitem listings. In the particular example shown in FIG. 3, the user hasselected item listing 137 for inclusion in the newly created electroniccatalog. The user can use a conventional pointing device (e.g. mouse) todrag the selected item listing to the display area 132. Display area 132represents a page of the newly created electronic catalog. As shown bythe item listing 138 shown in FIG. 3, the user can drag and drop theselected item listing from the item database search result display area133 to the page 132 of the newly created electronic catalog. Uponcompletion of this drag and drop process of a particular embodiment,identifiers for each of the item listings dragged into the new catalog,information associating item listings with the page where the itemlistings are dropped, and information associating item listings with thepage positions where the item listings appear can be retained.Additionally, the user can create an identifier of the catalog in field135 and the user may enter descriptive information related to thecatalog. The system can also create identifiers for each of the pages inthe newly created catalog. The user can populate a plurality of pages inthe newly created catalog using the drag and drop process describedabove. Additionally, the user can remove or rearrange item listings inpage area 132 once the item listings have been dropped in this area. Theuser can also resize or reshape item listings in page area 132 byplacing a pointing device cursor on an edge of the particular itemlisting display object and dragging the item listing display object intothe desired size and shape within page area 132.

FIG. 4 illustrates an example embodiment of the user interface screenfor viewing an electronic catalog booklet 100 for online computer users.Using the text entry field or drop down selection object 410, a user canselect a desired electronic catalog for viewing. Upon selection of thedesired electronic catalog, the catalog 100 is displayed as shown forthe example in FIG. 4. The catalog 100 can include a cover or coverpage, which can be created by the user and merged into the electroniccatalog 100 as a PEG, GIF, or other image format. Using soft buttons orparticular pointing device or finger movements, the user can turn theelectronic pages of the electronic catalog 100 to reveal pages of itemlistings 110 on subsequent pages. In this manner, a user can scanthrough the particular collection of item listings 110 as arranged andordered by the creator of the electronic catalog 100.

FIG. 5 illustrates another particular example embodiment of anelectronic catalog booklet for online computer users. As shown, thepages of catalog 100 can be turned using soft buttons or cursormovements to reveal pages of item listings 110 on subsequent pages. Theitem listings 110 on each page of the catalog 100 can include adescription of a corresponding item for sale, bid, lease, rent or trial.Each item listing 110 can optionally include an image corresponding tothe item. Each item listing 110 can also include a hyperlink, emailbutton, or call button with which a user/shopper can purchase thecorresponding item or otherwise obtain more information on the item. Thecatalog 100 can be viewed by any user via the network who has been givenaccess to the catalog 100.

The electronic catalogs 100 of various embodiments can be made availableto other users by installing a link or widget on a webpage that can beused to activate a particular electronic catalog 100 for viewing.Electronic catalogs 100 of various embodiments can also be madeavailable to other users by email or other electronic document transfermedium. In this manner, catalog creators can create and publishparticular catalogs having particular collections of item listings.Catalog creators can also provide catalogs to affiliates or affiliateprograms who can make catalogs available to other users. The catalogdescriptive information enables affiliates to credit catalog creatorswhen a particular catalog causes an item listing to be converted to asale, bid, lease, rent or trial of the corresponding item. In thismanner, catalog creators who create an attractive collection of itemlistings in a particular electronic catalog can be rewarded.

Example Process Flow

Referring to FIG. 6, a processing flow for generating an electroniccatalog booklet for online computer users in an example embodiment isshown. The method of an example embodiment includes: providing access toa database of item listings (processing block 615); enabling selectionof a plurality of item listings from at least some of the item listingsprovided in the database (processing block 620); enabling arrangement ofthe plurality of selected item listings on a plurality of pages in acomputer-generated electronic catalog booklet (processing block 625);recording an identifier of the computer-generated electronic catalogbooklet (processing block 630); and recording information associatingeach of the plurality of selected item listings with the identifier ofthe computer-generated electronic catalog booklet (processing block635).

FIG. 7 is a network diagram depicting a client-server system 2100,within which one example embodiment may be deployed. A networked system2100, in the example forms of a network-based marketplace or publicationsystem, provides server-side functionality, via a network 2104 (e.g.,the Internet or Wide Area Network (WAN)) to one or more clients. FIG. 7illustrates, for example, a web client 2106 (e.g., a browser, such asthe Internet Explorer browser developed by Microsoft Corporation ofRedmond, Wash. State), and a programmatic client 2108 executing onrespective client machines 2110 and 2112.

An Application Program Interface (API) server 2114 and a web server 2116are coupled to, and provide programmatic and web interfaces respectivelyto, one or more application servers 2118. The application servers 2118host one or more marketplace applications 2110 and payment applications2112. The application servers 2118 are, in turn, shown to be coupled toone or more databases servers 2114 that facilitate access to one or moredatabases 21216.

The marketplace applications 2110 may provide a number of marketplacefunctions and services to users that access the networked system 2100.The payment applications 2112 may likewise provide a number of paymentservices and functions to users. The payment applications 2112 may allowusers to accumulate value (e.g., in a commercial currency, such as theU.S. dollar, or a proprietary currency, such as “points”) in accounts,and then later to redeem the accumulated value for products (e.g., goodsor services) that are made available via the marketplace applications2110. While the marketplace and payment applications 2110 and 2112 areshown in FIG. 7 to both form part of the networked system 2100 it willbe appreciated that, in alternative embodiments, the paymentapplications 2112 may form part of a payment service that is separateand distinct from the networked system 2100.

Further, while the system 2100 shown in FIG. 7 employs a client-serverarchitecture, the present invention is of course not limited to such anarchitecture, and may equally well find application in a distributed, orpeer-to-peer, architecture system, for example. The various marketplaceand payment applications 2110 and 2112 may also be implemented asstandalone software programs, which do not necessarily have networkingcapabilities.

The web client 2106 accesses the various marketplace and paymentapplications 2110 and 2112 via the web interface supported by the webserver 2116. Similarly, the programmatic client 2108 accesses thevarious services and functions provided by the marketplace and paymentapplications via the programmatic interface provided by the API server2114. The programmatic client 2108 may, for example, be a sellerapplication (e.g., the TurboLister application developed by eBay Inc.,of San Jose, Calif.) to enable sellers to author and manage listings onthe networked system. 2100 in an off-line manner, and to performbatch-mode communications between the programmatic client 2108 and thenetworked system 2100.

FIG. 7 also illustrates a third party application 2118, executing on athird party server machine 2130, as having programmatic access to thenetworked system via the programmatic interface provided by the APIserver. For example, the third party application may, utilizinginformation retrieved from the networked system, support one or morefeatures or functions on a website hosted by the third party. The thirdparty website may, for example, provide one or more promotional,marketplace or payment functions that are supported by the relevantapplications of the networked system.

FIG. 8 is a block diagram illustrating multiple applications and that,in one example embodiment, are provided as part of the networked system.The applications may be hosted on dedicated or shared server machines(not shown) that are communicatively coupled to enable communicationsbetween server machines. The applications themselves are communicativelycoupled (e.g., via appropriate interfaces) to each other and to variousdata sources, so as to allow information to be passed between theapplications or so as to allow the applications to share and accesscommon data. The applications may furthermore access server one or moredatabases via the database servers.

The networked system may provide a number of publishing, listing andprice-setting mechanisms whereby a seller may list (or publishinformation concerning) goods or services for sale, a buyer can expressinterest in or indicate a desire to purchase such goods or services, anda price can be set for a transaction pertaining to the goods orservices. To this end, the marketplace applications are shown to includeat least one publication application 2200 and one or more auctionapplications 2202 which support auction-format listing and price settingmechanisms (e.g., English, Dutch, Vickrey, Chinese, Double, Reverseauctions etc.). The various auction applications 2202 may also provide anumber of features in support of such auction-format listings, such as areserve price feature whereby a seller may specify a reserve price inconnection with a listing and a proxy-bidding feature whereby a biddermay invoke automated proxy bidding.

A number of fixed-price applications 2204 support fixed-price listingformats (e.g., the traditional classified advertisement-type listing ora catalogue listing) and buyout-type listings. Specifically, buyout-typelistings (e.g., including the Buy-ft-Now (BIN) technology developed byeBay Inc., of San Jose, Calif.) may be offered in conjunction withauction-format listings, and allow a buyer to purchase goods orservices, which are also being offered for sale via an auction, for afixed-price that is typically higher than the starting price of theauction.

Store applications 2206 allow a seller to group listings within a“virtual” store, which may be branded and otherwise personalized by andfor the seller. Such a virtual store may also offer promotions,incentives and features that are specific and personalized to a relevantseller.

Reputation applications 2208 allow users that transact, utilizing thenetworked system, to establish, build and maintain reputations, whichmay be made available and published to potential trading partners.Consider that where, for example, the networked system supportsperson-to-person trading, users may otherwise have no history or otherreference information whereby the trustworthiness and credibility ofpotential trading partners may be assessed. The reputation applications2208 allow a user, for example through feedback provided by othertransaction partners, to establish a reputation within the networkedsystem 21021 over time. Other potential trading partners may thenreference such a reputation for the purposes of assessing credibilityand trustworthiness.

Personalization applications 2210 allow users of the networked system topersonalize various aspects of their interactions with the networkedsystem. For example a user may, utilizing an appropriate personalizationapplication 2210, create a personalized reference page at whichinformation regarding transactions to which the user is (or has been) aparty may be viewed. Further, a personalization application 2210 mayenable a user to personalize listings and other aspects of theirinteractions with the networked system and other parties.

The networked system may support a number of marketplaces that arecustomized, for example, for specific geographic regions. A version ofthe networked system may be customized for the United Kingdom, whereasanother version of the networked system may be customized for the UnitedStates. Each of these versions may operate as an independentmarketplace, or may be customized (or internationalized) presentationsof a common underlying marketplace. The networked system may accordinglyinclude a number of internationalization applications 221 that customizeinformation (and/or the presentation of information) by the networkedsystem according to predetermined criteria (e.g., geographic,demographic or marketplace criteria). For example, theinternationalization applications 2212 may be used to support thecustomization of information for a number of regional websites that areoperated by the networked system and that are accessible via respectiveweb servers.

Navigation of the networked system may be facilitated by one or morenavigation applications 2214. For example, a search application (as anexample of a navigation application) may enable key word searches oflistings published via the networked system. A browse application mayallow users to browse various category, catalogue, or inventory datastructures according to which listings may be classified within thenetworked system. Various other navigation applications may be providedto supplement the search and browsing applications.

In order to make listings, available via the networked system, asvisually informing and attractive as possible, the marketplaceapplications may include one or more imaging applications 2216 utilizingwhich users may upload images for inclusion within listings. An imagingapplication 2216 also operates to incorporate images within viewedlistings. The imaging applications 2216 may also support one or morepromotional features, such as image galleries that are presented topotential buyers. For example, sellers may pay an additional fee to havean image included within a gallery of images for promoted items.

Listing creation applications 2218 allow sellers conveniently to authorlistings pertaining to goods or services that they wish to transact viathe networked system, and listing management applications 2220 allowsellers to manage such listings. Specifically, where a particular sellerhas authored and/or published a large number of listings, the managementof such listings may present a challenge. The listing managementapplications 2220 provide a number of features (e.g., auto-relisting,inventory level monitors, etc.) to assist the seller in managing suchlistings. One or more post-listing management applications 2222 alsoassist sellers with a number of activities that typically occurpost-listing. For example, upon completion of an auction facilitated byone or more auction applications 2202, a seller may wish to leavefeedback regarding a particular buyer. To this end, a post-listingmanagement application 2222 may provide an interface to one or morereputation applications 2208, so as to allow the seller conveniently toprovide feedback regarding multiple buyers to the reputationapplications 2208.

Dispute resolution applications 2224 provide mechanisms whereby disputesarising between transacting parties may be resolved. For example, thedispute resolution applications 2224 may provide guided procedureswhereby the parties are guided through a number of steps in an attemptto settle a dispute. In the event that the dispute cannot be settled viathe guided procedures, the dispute may be escalated to a third partymediator or arbitrator.

A number of fraud prevention applications 2226 implement fraud detectionand prevention mechanisms to reduce the occurrence of fraud.

Messaging applications 2228 are responsible for the generation anddelivery of messages to users of the networked system, such messages forexample advising users regarding the status of listings at the networkedsystem (e.g., providing “outbid” notices to bidders during an auctionprocess or to provide promotional and merchandising information tousers). Respective messaging applications 2228 may utilize any one havea number of message delivery networks and platforms to deliver messagesto users. For example, messaging applications 2228 may deliverelectronic mail (e-mail), instant message (IM), Short Message Service(SMS), text, facsimile, or voice (e.g., Voice over IP (VoIP)) messagesvia the wired (e.g., the Internet), Plain Old Telephone Service (POTS),or wireless (e.g., mobile, cellular, WiFi, WiMAX) networks.

Merchandising applications 2230 support various merchandising functionsthat are made available to sellers to enable sellers to increase salesvia the networked system. The merchandising applications 2230 alsooperate the various merchandising features that may be invoked bysellers, and may monitor and track the success of merchandisingstrategies employed by sellers.

The networked system itself, or one or more parties that transact viathe networked system, may operate loyalty programs that are supported byone or more loyalty/promotions applications. For example, a buyer mayearn loyalty or promotions points for each transaction establishedand/or concluded with a particular seller, and be offered a reward forwhich accumulated loyalty points can be redeemed.

Various tables that may be maintained within the databases, and that areutilized by and support the applications. A user table contains a recordfor each registered user of the networked system, and may includeidentifier, address and financial instrument information pertaining toeach such registered user. A user may operate as a seller, a buyer, orboth, within the networked system. In one example embodiment, a buyermay be a user that has accumulated value (e.g., commercial orproprietary currency), and is accordingly able to exchange theaccumulated value for items that are offered for sale by the networkedsystem.

The tables also include an items table in which are maintained itemrecords for goods and services that are available to be, or have been,transacted via the networked system. Each item record within the itemstable may furthermore be linked to one or more user records within theuser table, so as to associate a seller and one or more actual orpotential buyers with each item record.

A transaction table contains a record for each transaction (e.g., apurchase or sale transaction) pertaining to items for which recordsexist within the items table.

An order table is populated with order records, each order record beingassociated with an order. Each order, in turn, may be with respect toone or more transactions for which records exist within the transactiontable.

Bid records within a bids table each relate to a bid received at thenetworked system in connection with an auction-format listing supportedby an auction application 2202. A feedback table lined by one or morereputation applications 2208, in one example embodiment, to constructand maintain reputation information concerning users. A history tablemaintains a history of transactions to which a user has been a party.One or more attributes tables record attribute information pertaining toitems for which records exist within the items table. Considering only asingle example of such an attribute, the attributes tables may indicatea currency attribute associated with a particular item, the currencyattribute identifying the currency of a price for the relevant item asspecified in by a seller.

Modules, Components and Logic

Certain embodiments are described herein as including logic or a numberof components, modules, or mechanisms. A component is tangible unitcapable of performing certain operations and may be configured orarranged in a certain manner. In example embodiments, one or morecomputer systems (e.g., a standalone, client or server computer system)or one or more components of a computer system (e.g., a processor or agroup of processors) may be configured by software e.g., an applicationor application portion) as a component that operates to perform certainoperations as described herein.

In various embodiments, a component may be implemented mechanically orelectronically. For example, a component may comprise dedicatedcircuitry or logic that is permanently configured (e.g., as aspecial-purpose processor) to perform certain operations. A componentmay also comprise programmable logic or circuitry (e.g., as encompassedwithin a general-purpose processor or other programmable processor) thatis temporarily configured by software to perform certain operations. Itwill be appreciated that the decision to implement a componentmechanically, in dedicated and permanently configured circuitry, or intemporarily configured circuitry (e.g., configured by software) may bedriven by cost and time considerations.

Accordingly, the term “component” should be understood to encompass atangible entity, be that an entity that is physically constructed,permanently configured (e.g., hardwired) or temporarily configured(e.g., programmed) to operate in a certain manner and/or to performcertain operations described herein. Considering embodiments in whichcomponents are temporarily configured (e.g., programmed), each of thecomponents need not be configured or instantiated at any one instance intime. For example, where the components comprise a general-purposeprocessor configured using software, the general-purpose processor maybe configured as respective different components at different times.Software may accordingly configure a processor, for example, toconstitute a particular component at one instance of time and toconstitute a different component at a different instance of time.

Components can provide information to, and receive information from,other components. Accordingly, the described components may be regardedas being communicatively coupled. Where multiple of such componentsexist contemporaneously, communications may be achieved through signaltransmission (e.g., over appropriate circuits and buses) that connectthe components. In embodiments in which multiple components areconfigured or instantiated at different times, communications betweensuch components may be achieved, for example, through the storage andretrieval of information in memory structures to which the multiplecomponents have access. For example, one component may perform anoperation, and store the output of that operation in a memory device towhich it is communicatively coupled. A further component may then, at alater time, access the memory device to retrieve and process the storedoutput. Components may also initiate communications with input or outputdevices, and can operate on a resource (e.g., a collection ofinformation).

Electronic Apparatus and System

Example embodiments may be implemented in digital electronic circuitry,or in computer hardware, firmware, software, or in combinations of them.Example embodiments may be implemented using a computer program product,e.g., a computer program tangibly embodied in an information carrier,e.g., in a machine-readable medium for execution by, or to control theoperation of, data processing apparatus, e.g., a programmable processor,a computer, or multiple computers.

A computer program can be written in any form of programming language,including compiled or interpreted languages, and it can be deployed inany form, including as a stand-alone program or as a module, subroutine,or other unit suitable for use in a computing environment. A computerprogram can be deployed to be executed on one computer or on multiplecomputers at one site or distributed across multiple sites andinterconnected by a communication network.

In example embodiments, operations may be performed by one or moreprogrammable processors executing a computer program to performfunctions by operating on input data and generating output. Methodoperations can also be performed by, and apparatus of exampleembodiments may be implemented as, special purpose logic circuitry,e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other. Inembodiments deploying a programmable computing system, it will beappreciated that that both hardware and software architectures requireconsideration. Specifically, it will be appreciated that the choice ofwhether to implement certain functionality in permanently configuredhardware (e.g., an ASIC), in temporarily configured hardware (e.g., acombination of software and a programmable processor), or a combinationpermanently and temporarily configured hardware may be a design choice.Below are set out hardware (e.g., machine) and software architecturesthat may be deployed, in various example embodiments.

Example Machine Architecture and Machine-Readable Medium

FIG. 9 is a block diagram of machine in the example form of a computersystem 2300 within which instructions, for causing the machine toperform any one or more of the methodologies discussed herein, may beexecuted.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in server-client network environment, or as a peermachine in a peer-to-peer (or distributed) network environment. Themachine may be a personal computer (PC), a tablet PC, a set-top box(STB), a Personal Digital Assistant (PDA), a cellular telephone, a webappliance, a network router, switch or bridge, or any machine capable ofexecuting instructions (sequential or otherwise) that specify actions tobe taken by that machine. Further, while only a single machine isillustrated, the term “machine” shall also be taken to include anycollection of machines that individually or jointly execute a set (ormultiple sets) of instructions to perform any one or more of themethodologies discussed herein.

The example computer system 2300 includes a processor 2302 (e.g., acentral processing unit (CPU), a graphics processing unit (GPU) orboth), a main memory 2304 and a static memory 2306, which communicatewith each other via a bus 2308. The computer system 2300 may furtherinclude a video display unit 2310 (e.g., a liquid crystal display (LCD)or a cathode ray tube (CRT)). The computer system 2300 also includes analphanumeric input device 2312 (e.g., a keyboard), a user interface (UI)navigation device 233 (e.g., a mouse), a disk drive unit 2316, a signalgeneration device 2318 (e.g., a speaker) and a network interface device2320.

Machine-Readable Medium

The disk drive unit 2316 includes a machine-readable medium 2322 onwhich is stored one or more sets of instructions and data structures(e.g., software 2324) embodying or utilized by any one or more of themethodologies or functions described herein. The software 2324 may alsoreside, completely or at least partially, within the main memory 2304and/or within the processor 2302 during execution thereof by thecomputer system 2300, the main memory 2304 and the processor 2302 alsoconstituting machine-readable media.

While the machine-readable medium 2322 is shown in an example embodimentto be a single medium, the term “machine-readable medium” may include asingle medium or multiple media (e.g., a centralized or distributeddatabase, and/or associated caches and servers) that store the one ormore instructions or data structures. The term “machine-readable medium”shall also be taken to include any tangible medium that is capable ofstoring, encoding or carrying instructions for execution by the machineand that cause the machine to perform any one or more of themethodologies of the present invention, or that is capable of storing,encoding or carrying data structures utilized by or associated with suchinstructions. The term “machine-readable medium” shall accordingly betaken to include, but not be limited to, solid-state memories, andoptical and magnetic media. Specific examples of machine-readable mediainclude non-volatile memory, including by way of example semiconductormemory devices, e.g., EPROM, EEPROM, and flash memory devices; magneticdisks such as internal hard disks and removable disks; magneto-opticaldisks; and CD-ROM and DVD-ROM disks.

Transmission Medium

The software 2324 may further be transmitted or received over acommunications network 2326 using a transmission medium. The software2324 may be transmitted using the network interface device 2320 and anyone of a number of well-known transfer protocols (e.g., HTTP). Examplesof communication networks include a local area network (“LAN”), a widearea network (“WAN”), the Internet, mobile telephone networks, Plain OldTelephone (POTS) networks, and wireless data networks (e.g., WiFi andWiMax networks). The term “transmission medium” shall be taken toinclude any intangible medium that is capable of storing, encoding orcarrying instructions for execution by the machine, and includes digitalor analog communications signals or other intangible medium tofacilitate communication of such software.

Example Three-Tier Software Architecture

In some embodiments, the described methods may be implemented using onea distributed or non-distributed software application designed under athree-tier architecture paradigm. Under this paradigm, various parts ofcomputer code (or software) that instantiate or configure components ormodules may be categorized as belonging to one or more of these threetiers. Some embodiments may include a first tier as an interface (e.g.,an interface tier). Further, a second tier may be a logic (orapplication) tier that performs application processing of data inputtedthrough the interface level. The logic tier may communicate the resultsof such processing to the interface tier, and/or to a backend, orstorage tier. The processing performed by the logic tier may relate tocertain rules, or processes that govern the software as a whole. Athird, storage tier, may be a persistent storage medium, or anon-persistent storage medium. In some cases, one or more of these tiersmay be collapsed into another, resulting in a two-tier architecture, oreven a one-tier architecture. For example, the interface and logic tiersmay be consolidated, or the logic and storage tiers may be consolidated,as in the case of a software application with an embedded database. Thethree-tier architecture may be implemented using one technology, or, avariety of technologies. The example three-tier architecture, and thetechnologies through which it is implemented, may be realized on one ormore computer systems operating, for example, as a standalone system, ororganized in a server-client, peer-to-peer, distributed or so some othersuitable configuration. Further, these three tiers may be distributedbetween more than one computer systems as various components.

Components

Example embodiments may include the above described tiers, and processesor operations about constituting these tiers may be implemented ascomponents. Common too many of these components is the ability togenerate, use, and manipulate data. The components, and thefunctionality associated with each, may form part of standalone, client,server, or peer computer systems. The various components may beimplemented by a computer system on an as-needed basis. These componentsmay include software written in an object-oriented computer languagesuch that a component oriented, or object-oriented programming techniquecan be implemented using a Visual Component Library (VCL), ComponentLibrary for Cross Platform (CLX), Java Beans (JB), Java Enterprise Beans(EJB), Component Object Model (COM), Distributed Component Object Model(DCOM), or other suitable technique.

Software for these components may further enable communicative couplingto other components (e.g., via various Application Programminginterfaces (APIs)), and may be compiled into one complete server,client, and/or peer software application. Further, these APIs may beable to communicate through various distributed programming protocols asdistributed computing components.

Distributed Computing Components and Protocols

Some example embodiments may include remote procedure calls being usedto implement one or more of the above described components across adistributed programming environment as distributed computing components.For example, an interface component (e.g., an interface tier) may formpart of a first computer system that is remotely located from a secondcomputer system containing a logic component (e.g., a logic tier). Thesefirst and second computer systems may be configured in a standalone,server-client, peer-to-peer, or some other suitable configuration.Software for the components may be written using the above describedobject-oriented programming techniques, and can be written in the sameprogramming language, or a different programming language. Variousprotocols may be implemented to enable these various components tocommunicate regardless of the programming language used to write thesecomponents. For example, a component written in C++ may be able tocommunicate with another component written in the Java programminglanguage through utilizing a distributed computing protocol such as aCommon Object Request Broker Architecture (CORBA), a Simple ObjectAccess Protocol (SOAP), or some other suitable protocol. Someembodiments may include the use of one or more of these protocols withthe various protocols outlined in the Open Systems Interconnection (OSI)model, or Transmission Control Protocol/Internet Protocol (TCP/IP)protocol stack model for defining the protocols used by a network totransmit data.

A System of Transmission Between a Server and Client

Example embodiments may use the OSI model or TCP/IP protocol stack modelfor defining the protocols used by a network to transmit data. Inapplying these models, a system of data transmission between a serverand client, or between peer computer systems may for example includefive layers comprising: an application layer, a transport layer, anetwork layer, a data link layer, and a physical layer. In the case ofsoftware, for instantiating or configuring components, having a threetier architecture, the various tiers (e.g., the interface, logic, andstorage tiers) reside on the application layer of the TCP/IP protocolstack. In an example implementation using the TCP/IP protocol stackmodel, data from an application residing at the application layer isloaded into the data load field of a TCP segment residing at thetransport layer. This TCP segment also contains port information for arecipient software application residing remotely. This TCP segment isloaded into the data load field of an IP datagram residing at thenetwork layer. Next, this IP datagram is loaded into a frame residing atthe data link layer. This frame is then encoded at the physical layer,and the data transmitted over a network such as an internet, Local AreaNetwork (LAN), Wide Area Network (WAN), or some other suitable network.In some cases, internet refers to a network of networks. These networksmay use a variety of protocols for the exchange of data, including theaforementioned TCP/IP, and additionally ATM, SNA, SDI, or some othersuitable protocol. These networks may be organized within a variety oftopologies (e.g., a star topology), or structures.

Although an embodiment has been described with reference to specificexample embodiments, it will be evident that various modifications andchanges may be made to these embodiments without departing from thebroader spirit and scope of the invention. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense. The accompanying drawings that form a parthereof, show by way of illustration, and not of limitation, specificembodiments in which the subject matter may be practiced. Theembodiments illustrated are described in sufficient detail to enablethose skilled in the art to practice the teachings disclosed herein.Other embodiments may be utilized and derived therefrom, such thatstructural and logical substitutions and changes may be made withoutdeparting from the scope of this disclosure. This Detailed Description,therefore, is not to be taken in a limiting sense, and the scope ofvarious embodiments is defined only by the appended claims, along withthe full range of equivalents to which such claims are entitled.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R. §1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. Is submitted with theunderstanding that it will not be used to interpret or limit the scopeor meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separate embodiment.

What is claimed is:
 1. A system for generating a multi-page electroniccatalog, the system comprising: at least one hardware processor; and amemory storing instructions that are executable using the at least onehardware processor to cause the system to perform operations including:generating a graphical user interface in a first web browser, the userinterface including a search display area, a search element, and acatalog page display area that represents a page of the multi-pageelectronic catalog; receiving, from a first user, a search query via thesearch element; searching a data store for images in response to thesearch query; displaying at least a portion of the searched images inthe search display area; receiving, from the first user, a drag and dropinput of an image of the searched images displayed in the search displayarea, the drag and drop input comprising dragging the image from thesearch display area to a position on the catalog page display area; inresponse to the drag and drop input, displaying the image at theposition on the catalog page display area; associating the image withthe page of the multi-page electronic catalog represented by the catalogpage display area; associating the image with the position on the pageof the multi-page electronic catalog; and publishing the multi-pageelectronic catalog for access by a second user via a second web browser,the publishing the multi-page electronic catalog comprising publishingthe image at the position on the page of the multi-page electroniccatalog where the image was dragged and dropped by the first user. 2.The system of claim 1, the operations further comprising rearranging theposition of the image on the page of the multi-page electronic catalogbased on a dragging of the image to a different position in the catalogpage display area.
 3. The system of claim 1, the operations furthercomprising: recording an identifier of the multi-page electroniccatalog; and recording information associating the image with theidentifier of the multi-page electronic catalog.
 4. The system of claim1, the operations further comprising: recording an identifier of eachpage in the multi-page electronic catalog; and recording informationassociating the image with the identifier of the corresponding page onwhich the image is displayed in the multi-page electronic catalog. 5.The system of claim 1, the operations further comprising: recording aposition for each page in the multi-page electronic catalog; andrecording information associating the image with the position on thecorresponding page where the image is displayed in the multi-pageelectronic catalog.
 6. The system of claim 1, the operations furthercomprising recording descriptive information associated with themulti-page electronic catalog.
 7. The system of claim 6, the operationsfurther comprising using the descriptive information to credit a creatorof the multi-page electronic catalog based on the multi-page electroniccatalog being used to perform transaction for an item listing associatedwith an image displayed on a page of the multi-page electronic catalog.8. A method for generating a multi-page electronic catalog, the methodcomprising: generating a graphical user interface in a first webbrowser, the user interface including a search display area, a searchelement and a catalog page display area that represents a page of themulti-page electronic catalog; receiving, from a first user, a searchquery via the search element; searching a data store for images inresponse to the search query; displaying at least a portion of thesearched images in the search display area; receiving, from the firstuser, a drag and drop input of an image of the searched images displayedin the search display area, the drag and drop input comprising draggingthe image from the search display area to a position on the catalog pagedisplay area; in response to the drag and drop input, displaying theimage at e position on the catalog page display area; associating theimage with the page of the multi-page electronic catalog represented bythe catalog page display area; associating the image with the positionon the page of the multi-page electronic catalog; and publishing themulti-page electronic catalog for access by a second user via a secondweb browser, the publishing the multi-page electronic catalog comprisingpublishing the image at the position on the page of the multi-pageelectronic catalog where the image was dragged and dropped by the firstuser.
 9. The method of claim 8, further comprising rearranging theposition of the image on the page of the multi-page electronic catalogbased on a dragging of the image to a different position in the catalogpage display area.
 10. The method of claim 8, further comprising:recording an identifier of the multi-page electronic catalog; andrecording information associating the image with the identifier of themulti-page electronic catalog.
 11. The method of claim 8, furthercomprising: recording an identifier of each page in the multi-pageelectronic catalog; and recording information associating the image withthe identifier of the corresponding page on which the image is displayedin the multi-page electronic catalog.
 12. The method of claim 8, furthercomprising: recording a position for each page in the multi-pageelectronic catalog; and recording information associating the selectedimage with the position on the corresponding page where the image isdisplayed in the multi-page electronic catalog.
 13. The method of claim8, further comprising recording descriptive information associated withthe multi-page electronic catalog.
 14. The method of claim 13, furthercomprising using the descriptive information to credit a creator of themulti-page electronic catalog based on the multi-page electronic catalogbeing used to perform transaction for an item listing associated with animage displayed on a page of the multi-page electronic catalog.
 15. Anon-transitory machine-readable storage medium comprising instructions,which when executed by a machine, cause the machine to performoperations comprising: generating a graphical user interface in a firstweb browser, the user interface including a search display area, asearch element and a catalog page display area that represents a page ofthe multi-page electronic catalog; receiving, from a first user, asearch query via the search element; searching a data store for imagesin response to the search query; displaying at least a portion of thesearched images in the search display area; receiving, from a firstuser, a drag and drop input of an image of the searched images displayedin the search display area, the drag and drop input comprising draggingthe image from the search display area to a position on the catalog pagedisplay area; in response to the drag and drop input, displaying theimage at the position on catalog page display area; associating theimage with the page of the multi-page electronic catalog represented bythe catalog page display area; associating the image with the positionon the page of the multi-page electronic catalog; and publishing themulti-page electronic catalog for access by a second user via a secondweb browser, the publishing the multi-page electronic catalog comprisingpublishing the image at the position on the pace of the multi-pageelectronic catalog where the image was dragged and dropped b the firstuser.
 16. The storage medium of claim 15, the operations furthercomprising rearranging the position of the image on the page of themulti-page electronic catalog based on a dragging of the image to adifferent position in the catalog page display area.
 17. The storagemedium of claim 15, the operations further comprising: recording anidentifier of the multi-page electronic catalog; and recordinginformation associating the image with the identifier of the multi-pageelectronic catalog.
 18. The storage medium of claim 15, the operationsfurther comprising: recording an identifier of each page in themulti-page electronic catalog; and recording information associating theimage with the identifier of the corresponding page on the image isdisplayed in the multi-page electronic catalog.
 19. The storage mediumof claim 15, the operations further comprising: recording a position foreach page in the multi-page electronic catalog; and recordinginformation associating the images with the position on thecorresponding page where the image is displayed in the multi-pageelectronic catalog.
 20. The storage medium of claim 15, the operationsfurther comprising: recording descriptive information associated withthe multi-page electronic catalog; and using the descriptive informationto credit a creator of the multi-page electronic catalog based on themulti-page electronic catalog being used to perform transaction for anitem listing associated with an image displayed on a page of themulti-page electronic catalog.